import pandas as pd

from common.handleExcel import read_countycode_2countyname_city, read_excel_to_dataframe, slice_colum_from_dataframe, \
    move_column, format_datecolumn, save_to_excel

# 获取获取清单数据
#url4CountyCode2CountyNameCity(行政区代码前六位 实际管理区 设区市)
#url4List 清单表(电子监管号	合同编号 	合同名称	供应面积)
def get_list(url4CountyCode2CountyNameCity,sheetName4CountyCode2CountyNameCity,
             url4List,sheetName4List):
    url4CountyCode2CountyNameCity = fr"{url4CountyCode2CountyNameCity}"
    url4List = fr"{url4List}"

    # 获取Excel文件第三个sheet表数据--(行政区代码前六位---实际管理区----设区市)
    #(行政区代码前六位---实际管理区----设区市)
    #(361130    婺源县    上饶市)
    countyNum2countyName2CityTable = read_countycode_2countyname_city(url4CountyCode2CountyNameCity,
                                                            sheet_name=sheetName4CountyCode2CountyNameCity)

    #清单表(电子监管号	合同编号 	合同名称	供应面积)
    listTable = read_excel_to_dataframe(url4List, sheet_name=sheetName4List)

    # 提取电子监管号的前6位生成新列--行政区代码前六位--并挪动到第一列
    #(行政区代码前六位 电子监管号	合同编号 	合同名称	供应面积)
    listTable = slice_colum_from_dataframe(listTable,
                                               '电子监管号',
                                               6,
                                               '行政区代码前六位')
    #print('提取电子监管号的前6位生成新列--行政区代码前六位--并挪动到第一列')
    #print(listTable)

    # 合并两个表---根据行政区代码前六位进行合并
    merged_table = pd.merge(listTable, countyNum2countyName2CityTable,
                            on='行政区代码前六位', how='left')
    #把合并后的表中实际管理区列和设区市列挪动到前两列
    merged_table = move_column(merged_table, '实际管理区')
    merged_table = move_column(merged_table, '设区市')



    # 保存数据到Excel文件最后一个sheet上（新增的sheet）
    #save_to_excel(merged_table, url4List)
    return merged_table